JavaScript stack
part 2/6 Β· 20.1 KB total
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
web development stacks such as the LAMP stack, the components of the
MEAN stack are higher-level including a web application presentation
layer and not including an operating system layer.cite-ref-9[9]
The acronym MEAN was coined by Valeri Karpov.cite-ref-mongodbmeanstack-10-0[10] He introduced the term
in a 2013 blog post and the logo, initially created by Austin Anderson
for the original MEAN stack LinkedIn group, is an assembly of the first
letter of each component of the MEAN acronym.cite-ref-meanstacklinkedin-11-0[11]
Following the adoption of the MEAN stack, alternative versions emerged
to accommodate different front-end preferences while maintaining the
same JavaScript-based architecture. The MERN stack substitutes Angular
with React.js, a declarative, component-based library developed by Meta
(formerly Facebook), which allows for greater flexibility in building
dynamic user interfaces. Meanwhile, the MEVN stack integrates Vue.js, a
progressive front-end framework known for its gentle learning curve and
ease of integration into existing projects. Both variations preserve the
core back-end technologiesβMongoDB, Express.js, and Node.jsβwhile
catering to developers who prefer a different approach to front-end
development. These stacks reflect the growing diversification of the
JavaScript ecosystem, offering developers choices based on performance,
learning preferences, and community support, while still enabling
Components
The components of MEAN, MERN, and MEVN are:
MongoDB
MongoDB is a NoSQL database program that uses JSON-like BSON (binary
JSON) documents with optional schemas.
The role of the database in the MEAN stack is very commonly filled by
MongoDB because its use of JSON-like documents for interacting with data
as opposed to the row/column model allows it to integrate well with the
other (JavaScript-based) components of the stack.cite-ref-14[14]
Express.js
Express.js (also referred to as Express) is a modular web application
While Express is capable of acting as an internet-facing web server,
even supporting SSL/TLS out of the box, it is often used in conjunction
reasons.cite-ref-16[16]
Angular, React, or Vue
Typically data is fetched using Ajax techniques and rendered in the
browser on the client-side by a client-side application framework.
However as the stack is commonly entirely JavaScript-based, in some
implementations of the stack, server-side rendering is used. Here the
rendering of the initial page can be offloaded to a server. It is used
so that the initial data can be prefetched before it is loaded in the
user's browser.cite-ref-17[17]
Node.js
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ